import java.util.List;

/*
 * @lc app=leetcode.cn id=203 lang=java
 *
 * [203] 移除链表元素
 */

// @lc code=start
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
       //不采用虚节点
       while(head!=null&&head.val==val){
            head=head.next;
       }//单独处理一下头节点
       ListNode cur=head;
       while(cur!=null&&cur.next!=null){
            if(cur.next.val==val){
                cur.next=cur.next.next;
            }else{
                cur=cur.next;
            }
       }
       return head;
        //采用虚节点
        // ListNode dummy=new ListNode(0,head);
        // ListNode cur=dummy;
        // while(cur.next!=null){
        //     if(cur.next.val==val){
        //         cur.next=cur.next.next;
        //     }else{
        //         cur=cur.next;
        //     }
        // }
        // return dummy.next;
    }
}
// @lc code=end

